let comments = [
  {
    name: 'Aqing',
    message: 'Node.js is interesting very much!',
    dateTime: '2018-8-20'
  },
  {
    name: 'Aqing',
    message: 'Node.js is interesting very much!',
    dateTime: '2018-8-20'
  },
  {
    name: 'Aqing',
    message: 'Node.js is interesting very much!',
    dateTime: '2018-8-20'
  },
  {
    name: 'Aqing',
    message: 'Node.js is interesting very much!',
    dateTime: '2018-8-20'
  },
  {
    name: 'Aqing',
    message: 'Node.js is interesting very much!',
    dateTime: '2018-8-20'
  },
  {
    name: 'Aqing',
    message: 'Node.js is interesting very much!',
    dateTime: '2018-8-20'
  },
  {
    name: 'Aqing',
    message: 'Node.js is interesting very much!',
    dateTime: '2018-8-20'
  }
];
let express = require('express');
let bodyParser = require('body-parser');
let app = express();

app.use('/public/', express.static('./public/'));
// 配置body-parser中间件
app.use(bodyParser.urlencoded({ extended: false }));

// parse application/json
app.use(bodyParser.json());

// 配置使用art-template 模板引擎
// 第一个参数,表示当渲染以.art结尾的文件的时候,使用art-template 模板引擎(这里写什么类型文件,渲染必须是什么文件,这里写html也行)
// express-art-template 是专门用来在Express中把art-template整合到Express中
// 虽然外面这里不需要加载art-template但也必须安装,因为express-art-template依赖它
app.engine('art', require('express-art-template'));

// Express为Response响应对象提供了一个方法:render
// render方法默认不可以使用,如果配置了模板引擎就可以使用了
// res.render('html模板名', {模板数据})
// 第一个参数不写路径,默认会去项目中的views目录查找该模板文件
// 也就是说 Express有一个约定:开发人员把所有的师徒文件都放到views目录中
app.get('/' ,function (req, res) {
  res.render('index.art', {
    comments: comments
  }); // 前面指定渲染的是art文件,这里也必须渲染.art文件
});

app.get('/post', function (req, res) {
  res.render('post.art');
});

/* 这是原来get方法提交的代码
app.get('/pinglun', function (req, res) {
  let comment = req.query;
  comment.dateTime = Date().substr(0,24);
  comments.unshift(comment);
  res.redirect('/'); // 直接可以重定向
});
*/

// 当以POST请求/post 的时候,执行指定的处理函数
// 这样的话我们就可以利用不同的请求方法让一个请求路径使用多次
app.post('/post', function (req, res) {
  // 先获取表单post请求提数据
  // 处理
  // 发送响应
  // 这里要注意 res.query不能获取post中的数据,只能获取get中的数据
  console.log(req.body);
  let comment = req.body;
  comment.dataTime = Date().substr(0,24);
  comments.unshift(comment);
  res.redirect('/');
});

app.listen(3000, function () {
  console.log('running in 3000');
});

